home *** CD-ROM | disk | FTP | other *** search
/ Aminet 22 / Aminet 22 (1997)(GTI - Schatztruhe)[!][Dec 1997].iso / Aminet / util / sys / 2b_mv_os2.lha / MultiView / Install MultiView < prev    next >
Text File  |  1992-01-09  |  12KB  |  488 lines

  1. ;
  2. ; $VER: Install MultiView 3.0 (17.09.97)
  3. ;
  4. ; Installer script for MultiView.
  5. ;
  6.  
  7. (set #english-lang 1)
  8. (set #polish-lang  2)
  9.  
  10.  
  11. ; Get current language (no need for lots of silly icons! ;). However, this
  12. ; won't properly work for all versions of the Installer. Some don't
  13. ; understand the language "default" in the tool types... :/
  14.  
  15. (if (= (exists "Env:Language") 1)
  16.     ; GetEnv reports "String too long" if the variable doesn't exist! :/
  17.     ; Dunno if this is fixed in V43... But we need to check anyway.
  18.     (set @language (getenv "language"))
  19. )
  20.  
  21.  
  22. ;**************************************************************************
  23. ;
  24. ; English strings
  25. ;
  26.  
  27. (set #default-lang #english-lang)
  28.  
  29. (set #builtin-lang "(built in)")
  30.  
  31. (set #bad-kick
  32.     "You must have AmigaOS Release 2.04 or higher to use MultiView."
  33. )
  34.  
  35. (set #install-parts "Please select the parts you wish to install")
  36.  
  37. (set #item-program "MultiView")
  38.  
  39. (set #item-library "FileID.library")
  40.  
  41. (set #item-guide "MultiView.guide")
  42.  
  43. (set #item-locale "Translations")
  44.  
  45. (set #parts-header-help
  46.     (cat
  47.         "    Here you select the different parts of MultiView that you would like to "
  48.         "install. After that, you select the details of the installation (such as "
  49.         "where the different files should be installed). You may choose to install "
  50.         "the following items:\n"
  51.     )
  52. )
  53.  
  54. (set #item-program-help
  55.     (cat
  56.         "    MultiView: This program is a relacement for C= MultiView and should be "
  57.                 "installed in SYS:Utilities/ directory.\n"
  58.     )
  59. )
  60.  
  61. (set #item-library-help
  62.     (cat
  63.         "    FileID.library: This library contains filetype recognizing functions.\n"
  64.     )
  65. )
  66.  
  67. (set #item-guide-help
  68.     (cat
  69.         "    MultiView.guide: The manual, in AmigaGuide® format. It contains "
  70.         "some general information about MultiView.\n"
  71.     )
  72. )
  73.  
  74. (set #item-local-help
  75.     (cat
  76.         "    Translations: If you install a translation, then MultiView  "
  77.         "and FileID.library can operate in the language(s) you select.\n"
  78.     )
  79. )
  80.  
  81. (set #parts-footer-help
  82.     (cat
  83.         "    For more information about these items, please see the manual.\n"
  84.     )
  85. )
  86.  
  87. ; Only for expert users
  88. (set #where-library "Where would you like to install FileID.library?")
  89.  
  90. (set #where-library-help
  91.     (cat
  92.         "    FileID.library is a shared library. As such, MultiView"
  93.         "(and applications using it) expects this file to be "
  94.         "avilable via the \"Libs:\"-assign, so please install this "
  95.         "file into the \"Libs:\" drawer, or make sure that the "
  96.         "drawer you install it in will be a part of your "
  97.         "\"Libs:\"-assign.\n"
  98.     )
  99. )
  100.  
  101. (set #where-guide "Where would you like to install MultiView.guide?")
  102.  
  103. (set #where-guide-help
  104.     (cat
  105.         "    MultiView.guide is a file in the standard AmigaGuide® format. "
  106.         "As MultiView currently makes specific use of this file, you can install "
  107.         "it whereever you find convenient. If you have OS 3.0 or higher, "
  108.         "one such place is \"Help:\", as this is where other AmigaGuide® "
  109.         "files often are installed.\n"
  110.     )
  111. )
  112.  
  113. ; Only for expert users, and an icon wasn't found
  114. (set #copy-guide-icon "Do you want to install the icon for MultiView.guide?")
  115.  
  116. (set #copy-guide-icon-help
  117.     (cat
  118.         "    Since you stated that you are an expert user, and there currently "
  119.         "is no icon for MultiView.guide where you selected to install it, "
  120.         "you get a chance to decide if the icon should be installed as well.\n"
  121.     )
  122. )
  123.  
  124. (set #which-language "Which languages should be installed?")
  125.  
  126. (set #which-language-help
  127.     (cat
  128.         "    The Amiga can be operated in many different languages. If you "
  129.         "want MultiView to use the same language as your Amiga Workbench, "
  130.         "then a couple of catalog files must be copied to your harddisk "
  131.         "for each language supported.\n"
  132.         "    To reduce the amount of space consumed by the language files, "
  133.         "you can select to have only the files of specific languages "
  134.         "copied.\n"
  135.         "    Simply check the boxes of the languages you wish to have have "
  136.         "available on your system.\n"
  137.     )
  138. )
  139.  
  140. (set #copy "Copying %s to %s...")
  141.  
  142. ;**************************************************************************
  143. ;
  144. ; Polish strings
  145. ;
  146.  
  147. (if (= @language "polski")
  148.     (
  149.         (set #default-lang #polski-lang)
  150.         (set #builtin-lang "(wbudowany)")
  151.         (set #bad-kick
  152.             "Musisz mieê system w wersji przynajmniej 2.04."
  153.         )
  154.  
  155.         (set #install-parts "Wybierz czëôci, które chcesz zainstalowaê")
  156.         (set #item-program "MultiView")
  157.         (set #item-library "FileID.library")
  158.         (set #item-guide "MultiView.guide")
  159.         (set #item-locale "Tîumaczenia")
  160.  
  161.         (set #parts-header-help
  162.             (cat
  163.                         "    Tu moûesz wybraê poszczególne czëôci pakietu do zainstalowania. Potem "
  164.                         "wybierzesz gdzie chcesz je zainstalowaê. Do wyboru masz :\n"
  165.             )
  166.         )
  167.  
  168.         (set #item-program-help
  169.             (cat
  170.                         "    MultiView: Ten program jest zamiennikiem dla starego MultiView-a napisanego "
  171.                         "jeszcze przez ludzi z Commodore. Powinieneô zainstalowaê go w katalogu SYS:Utilties.\n"
  172.             )
  173.         )
  174.  
  175.         (set #item-library-help
  176.             (cat
  177.                         "    FileID.library: Ta biblioteka zawiera funkcje do rozpoznawania plików.\n"
  178.             )
  179.         )
  180.  
  181.         (set #item-guide-help
  182.             (cat
  183.                         "    MultiView.guide: Dokumentacja w formacie AmigaGuide®.\n"
  184.             )
  185.         )
  186.  
  187.         (set #item-local-help
  188.             (cat
  189.                         "    Tîumaczenia: Jeôli chcesz by MultiView i FileID.library mogîy "
  190.                         "byê z polskimi komunikatami musisz zainstalowaê odpowiednie katalogi.\n\n"
  191.             )
  192.         )
  193.  
  194.         (set #parts-footer-help
  195.             (cat
  196.                         "    Dodatkowe informacje znajdziesz w dokumentacji.\n"
  197.             )
  198.         )
  199.  
  200.         ; Only for expert users
  201.         (set #where-program "Gdzie chcesz zainstalowaê gîówny program?")
  202.         (set #where-program-help
  203.             (cat
  204.                         "    MultiView: Ten program jest zamiennikiem dla starego MultiView-a napisanego "
  205.                         "jeszcze przez ludzi z Commodore. Powinieneô zainstalowaê go w katalogu SYS:Utilties.\n"
  206.             )
  207.         )
  208.  
  209.         (set #where-library "Gdzie chcesz zainstalowaê FileID.library?")
  210.         (set #where-library-help
  211.             (cat
  212.             "    FileID.library jest zwykîâ bibliotekâ. MultiView "
  213.                     "i inne programy spodziewajâ sië, ûe znajdâ jâ w Libs:, tak wiëc "
  214.                     "musisz jâ zainstalowaê do katalogu bëdâcego czëôciâ twej kolekcji bibliotek.\n"
  215.             )
  216.         )
  217.  
  218.         (set #where-guide "Gdzie chcesz zainstalowaê MultiView.guide?")
  219.         (set #where-guide-help
  220.             (cat
  221.                 "    MultiView.guide jest plikiem w standardzie AmigaGuide®. "
  222.                         "Proponowanym miejscem jest HELP:\n"
  223.             )
  224.         )
  225.  
  226.         (set #copy-guide-icon "Czy chcesz zainstalowaê ikonë dla MultiView.guide?")
  227.         (set #which-language "Które jëzyki powinny byê zainstalowane ?")
  228.         (set #copy "Kopiujë %s do %s...")
  229.     )
  230. )
  231.  
  232. ;**************************************************************************
  233. ;
  234. ; The actual installation script
  235. ;
  236. ; First some initializations
  237. ;
  238.  
  239. ; Check Kickstart version. Exit if not at least 2.04
  240. (if (< (/ (getversion) 65536) 37)
  241.         (abort #bad-kick)
  242. )
  243.  
  244. ; Since files are scatter installed, don't mention any specific location.
  245. (set @default-dest "")
  246.  
  247. ; Request proportinal fonts, if supported. This string is
  248. ; prepended to the first askoptions choice.
  249. (if (>= @installer-version 2752518)     ; 42 * 65536 + 6
  250.     ; At least version 42.6
  251.     (set #propfont "p")
  252.     ; Pre V42
  253.     (set #propfont "")
  254. )
  255.  
  256. (set #item-num-lib       1)
  257. (set #item-num-prog      2)
  258. (set #item-num-guide     4)
  259. (set #item-num-locale    8)
  260.  
  261. ; Find out default values for parts to install
  262. (set #install-default (BITOR #item-num-prog #item-num-lib #item-num-guide))
  263.  
  264. ; Locale installed?
  265. (if (AND (= 2 (exists "Locale:" (noreq))) (< 0 (getversion "locale.library" (resident))))
  266.     (set #install-default (BITOR #install-default #item-num-locale))
  267. )
  268.  
  269. ; Everything ready
  270.  
  271. (welcome)
  272.  
  273. ; Ask the user what to install
  274. (set #install-files
  275.     (askoptions
  276.         (prompt    #install-parts)
  277.         (help    #parts-header-help
  278.                         #item-program-help
  279.             #item-library-help
  280.             #item-guide-help
  281.             #item-local-help
  282.             #parts-footer-help "\n"
  283.             @askoptions-help)
  284.         (choices
  285.             (cat #propfont #item-program)
  286.                         #item-library
  287.             #item-guide
  288.             #item-locale
  289.         )
  290.         (default #install-default)
  291.     )
  292. )
  293.  
  294. ; Ask the user for the location of all parts
  295.  
  296. (set #program-dest  "SYS:Utilities")
  297.  
  298. ; Location for MultiView program (for experts)
  299. (if (AND (= @user-level 2) (BITAND #install-files #item-num-prog))
  300.     (set #program-dest
  301.         (askdir
  302.             (prompt  #where-program)
  303.             (help    #where-program-help "\n" @askdir-help)
  304.             (default #program-dest)
  305.         )
  306.     )
  307. )
  308.  
  309. (set #library-dest  "Libs:")
  310.  
  311. ; Location for FileID.library (for experts)
  312. (if (AND (= @user-level 2) (BITAND #install-files #item-num-lib))
  313.     (set #library-dest
  314.         (askdir
  315.             (prompt  #where-library)
  316.             (help    #where-library-help "\n" @askdir-help)
  317.             (default #library-dest)
  318.         )
  319.     )
  320. )
  321.  
  322. ; Location for MultiView.guide
  323. (if (BITAND #install-files #item-num-guide)
  324.     (
  325.         (set #guide-dest "Work:")
  326.  
  327.         (if (exists "Help:")
  328.             (set #guide-dest "Help:")
  329.         )
  330.  
  331.         (set #guide-dest
  332.             (askdir
  333.                 (prompt  #where-guide)
  334.                 (help    #where-guide-help "\n" @askdir-help)
  335.                 (default #guide-dest)
  336.             )
  337.         )
  338.  
  339.         (set #dest-guide-name (tackon #guide-dest "Visage.guide.info"))
  340.  
  341.         (set #guide-icon
  342.             (if (AND (= @user-level 2 ) (= (exists #dest-guide-name) 0))
  343.                 (askbool
  344.                     (prompt #copy-guide-icon)
  345.                     (help    #copy-guide-icon-help " ")
  346.                 )
  347.                 0    ; Default is to not copy the icon
  348.             )
  349.         )
  350.     )
  351. )
  352.  
  353. ; .ct
  354. ; Which languages should be installed?
  355. (if (BITAND #install-files #item-num-locale)
  356.     (set #lang
  357.         (askoptions
  358.             (prompt    #which-language)
  359.             (help    #which-language-help "\n" @askoptions-help)
  360.             (choices
  361.                 (cat #propfont "Deutsch")
  362.                 (cat "English  " #builtin-lang)
  363.                 "Polski"
  364.             )
  365.             (default #default-lang)
  366.         )
  367.     )
  368. )
  369.  
  370. ; Everything set up. Now do the actual installation
  371.  
  372. (complete 0)
  373.  
  374. (if (BITAND #install-files #item-num-prog)
  375.     (
  376.         (copyfiles
  377.             (prompt    (#copy "MultiView" #program-dest))
  378.             (source    "MultiView")
  379.             (dest    #program-dest)
  380.         )
  381.         (copyfiles
  382.             (prompt    (#copy "MultiView" #program-dest))
  383.             (source    "MultiView.info")
  384.             (dest    #program-dest)
  385.         )
  386.     )
  387. )
  388.  
  389. (complete 20)
  390.  
  391. (if (BITAND #install-files #item-num-lib)
  392.     (
  393.         (copylib
  394.             (prompt    (#copy "FileID.library" #library-dest))
  395.             (source    "libs/FileID.library")
  396.             (dest    #library-dest)
  397.         )
  398.     )
  399. )
  400.  
  401. (complete 60)
  402.  
  403. (if (BITAND #install-files #item-num-guide)
  404.     (
  405.         (set #guide-source
  406.                         (tackon (tackon "Docs/" @language) "MultiView.guide")
  407.                 )
  408.             (copyfiles
  409.             (prompt (#copy "MultiView.guide" #guide-dest))
  410.             (source #guide-source)
  411.             (dest   #guide-dest)
  412.         )
  413.  
  414.         (if #guide-icon
  415.             (
  416.                 (copyfiles
  417.                     (prompt (#copy "MultiView.guide.info" #guide-dest))
  418.                     (source (tackon (tackon "Docs/" @language) "MultiView.guide.info"))
  419.                     (dest   #guide-dest)
  420.                 )
  421.             )
  422.         )
  423.     )
  424. )
  425.  
  426. (complete 75)
  427.  
  428. ; .ct
  429. (if (BITAND #install-files #item-num-locale)
  430.     (
  431.         (set #n 0)
  432.  
  433.         (while
  434.             (set #language
  435.                 (select #n
  436.                     "Deutsch"
  437.                     "English"
  438.                     "Polski"
  439.                     ""
  440.                 )
  441.             )
  442.  
  443.             (
  444.                 (if (AND (IN #lang #n) (<> #language "English"))
  445.                     (
  446.                         (set #catalog
  447.                             (tackon "Catalogs"
  448.                                 (tackon #language "MultiView.catalog")
  449.                             )
  450.                         )
  451.  
  452.                         (set #destination (tackon "Locale:Catalogs/" #language))
  453.  
  454.                         (if (exists #catalog)
  455.                             (copylib
  456.                                 (prompt (#copy #catalog #destination))
  457.                                 (source #catalog)
  458.                                 (dest   #destination)
  459.                             )
  460.                         )
  461.  
  462.                         (set #catalog
  463.                             (tackon "Catalogs"
  464.                                 (tackon #language "FileID_lib.catalog")
  465.                             )
  466.                         )
  467.  
  468.                         (if (exists #catalog)
  469.                             (copylib
  470.                                 (prompt (#copy #catalog #destination))
  471.                                 (source #catalog)
  472.                                 (dest   #destination)
  473.                             )
  474.                         )
  475.  
  476.                     )
  477.                 )
  478.  
  479.                 (set #n (+ #n 1))
  480.             )
  481.         )
  482.     )
  483. )
  484.  
  485. (complete 100)
  486.  
  487. (exit)
  488.